package cn.iocoder.an.module.mold.dal.dataobject.account;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.an.framework.mybatis.core.dataobject.BaseDO;

/**
 * 模具台账 DO
 *
 * @author 超级管理员
 */
@TableName("mold_account")
@KeySequence("mold_account_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AccountDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;

    /**
     * 模具名
     */
    private String name;
    /**
     * 编码
     */
    private String code;
    /**
     * 图号id
     */
    private Long drawingNoId;

    /**
     * 客户名
     */
    private String customer;
    /**
     * 模具类型id
     */
    private Long categoryId;

    /**
     * 部门Id
     */
    private Long deptId;
    /**
     * 设备Id
     */
    private Long devId;
    /**
     * 总腔数
     */
    private Integer totalCavity;
    /**
     * 可用腔数
     */
    private Integer availableCavity;
    /**
     * 寿命
     */
    private Integer totalUsageCount;
    /**
     * 已使用
     */
    private Integer usedCount;
    /**
     * 预警次数
     */
    private Integer warningCount;
    /**
     * 延期次数
     */
    private Integer delayCount;
    /**
     * 仓库Id
     */
    private Long warehouseId;
    /**
     * 储位id
     */
    private Long storageId;
    /**
     * bom类型
     *
     * 枚举 {@link TODO mold_bom_category 对应的类}
     */
    private String bomCategoryId;
    /**
     * 工步
     */
    private Integer oprationStep;
    /**
     * 数量
     */
    private Integer quantity;
    /**
     * 保养类型id
     */
    private Long upkeepId;
    /**
     * 上次保养日期
     */
    private LocalDateTime lastUpkeepTime;
    /**
     * 下次保养日期
     */
    private LocalDateTime nextUpkeepTime;
    /**
     * 保养人id
     */
    private Long upkeeperId;
    /**
     * 保养日期
     */
/*    private LocalDateTime upkeepTime;*/
    /**
     * 复检类型id
     */
    private Long recheckId;
    /**
     * 上次复检日期
     */
    private LocalDateTime lastRecheckTime;
    /**
     * 下次复检日期
     */
    private LocalDateTime nextRecheckTime;
    /**
     * 复检人id
     */
    private Long recheckerId;
    /**
     * 复检日期
     */
   // private LocalDateTime recheckTime;
    /**
     * 领用人ID
     */
    private Long borrowerId;
    /**
     * 领用时间
     */
    private LocalDateTime borrowTime;
    /**
     * 归还人ID
     */
    private Long returnerId;

    /**
     * 归还时间
     */
    private LocalDateTime returnTime;

    /**
     * 库存状态
     */
    private Integer inventoryStatus;

    /**
     * 使用状态
     */
    private Integer usageStatus;

    /**
     * 维修状态
     */
    private Integer repairStatus;

    /**
     * 保养状态
     */
    private Integer upkeepStatus;

    /**
     * 复检状态
     */
    private Integer recheckStatus;


    /**
     * 描述
     */
    private String description;


}
